Skip to content

Carmofrasao/TCC

Repository files navigation

TCC

Container engine (comunicação): Identificar uma maneira de coletar informações de uma aplicação que esteja rodando dentro do ambiente de container. Seguindo a segunda e terceira proposta do artigo ISCC2021 (a ideia é ficar dentro do ambiente do container).

Plugin que permite coletar informações/interações entre container e o container engine

Fluentd

Referencias

Instalação e Uso (Deve ser executado antes de subir o wordpress)

Identifique o ID do container wordpress:

sudo docker ps

Substitua o ID que esta em ./tmp/fluentd.conf

Rode:

sudo docker run -p 24224:24224 -v $(pwd)/tmp:/fluentd/etc fluent/fluentd:edge-debian -c /fluentd/etc/fluentd.conf

Após esse passo, inicialize o container.

Sysdig

Referencias

Instalação

sudo apt-get install sysdig

Uso

Veja o uso da CPU dos processos em execução dentro do contêiner wordpress

sudo sysdig -pc -c topprocs_cpu container.name=wordpress

Veja os processos usando a maior largura de banda da rede dentro do contêiner wordpress

sudo sysdig -pc -c topprocs_net container.name=wordpress

Veja os arquivos superiores em termos de bytes de E / S dentro do contêiner wordpress

sudo sysdig -pc -c topfiles_bytes container.name=wordpress

Veja as conexões de rede superiores dentro do contêiner wordpress

sudo sysdig -pc -c topconns container.name=wordpress

Mostrar todos os comandos interativos executados dentro do contêiner wordpress

sudo sysdig -pc -c spy_users container.name=wordpress

Mostrar todas as interações do container

sudo sysdig -pc container.name=wordpress

Wordpress

Para subir o container:

sudo docker-compose up -d

Meu wordpress:

Link            http://localhost:9000/wp-admin/
Site Title      TCC
Username        eu
Password        TCCAnderson.

Para remover as imagens que estão rodando:

sudo docker system prune && sudo docker rmi $(sudo docker images -q)

Caso as imagens sejam removidas, sera necessario algumas configurações no container.

  • Para colocar o plugin File Manager (pois ele é grande), siga os seguintes passos:
  1. Acesse o container Docker do WordPress:
sudo docker exec -it wordpress bash
  1. Crie o arquivo php.ini:
touch /usr/local/etc/php/php.ini
  1. Aumente o tamanho máximo de upload de arquivos:
echo "upload_max_filesize = 100M" > /usr/local/etc/php/php.ini
  1. Reinicie o container do WordPress.
  • Para rodar scripts python:
  1. Acesse o container Docker do WordPress:
sudo docker exec -it wordpress bash
  1. Edite o arquivo /etc/apt/sources.list:
sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list
sed -i s/security.debian.org/archive.debian.org/g /etc/apt/sources.list
  1. Atualize o sistema:
apt-get update
  1. Instale o python:
apt-get install python3-pip

Plugins vulneravei para Wordpress

Wordpress: 4.9.2

Coleta de dados e treinamnto do modelo

  1. 1x10 mali.
    1x10 comp. Normais

    uma coleta

  2. gerar trace
    open(..)
    mmap(..)
    mmap(..)
    read()
    read()
    fseek()
    exit

  3. criar janelas
    overlap = 1

  4. treinar modelo
    .csv
    ID feature1, f2, f3
    1 [open mmap mmap]
    1 [mmap read read]
    1 [read fseek exit]
    -> ML

    ML <- f1,f2,f3
    result = .predict()
    result.XXX(ID)

Tratamento dos dados

  • Retirando cabeçalho e linha em branco dos logs do sysdig
sed -i".bak" '1,2d' *
  • O arquivo trata.py retira as chamadas que não são syscall e faz a contagem de cada syscall que é feita no log

Treinamento

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages